﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Othello_Game;

namespace OneOnOneRunnerConsole
{
    class WeightLists
    {
        /// <summary>
        /// Holds a matrix of WeightVectors (5 x 5), each row is a group of 5 Vectors of weights
        /// Each group treats one of the attributes as the main attribute and gives it a 60% weight
        /// The extra 40% are divided arbitrarily between the other 4 attributes
        /// </summary>
        public WeightVector[,] Groups = new WeightVector[5,5];

        public WeightLists()
        {
            this.Groups[0, 0] = new WeightVector(new double[5] { 0.6, 0.1, 0.1, 0.1, 0.1 });
            this.Groups[0, 1] = new WeightVector(new double[5] { 0.6, 0.15, 0.05, 0.15, 0.05 });
            this.Groups[0, 2] = new WeightVector(new double[5] { 0.6, 0.05, 0.15, 0.05, 0.15 });
            this.Groups[0, 3] = new WeightVector(new double[5] { 0.6, 0.15, 0.15, 0.05, 0.05 });
            this.Groups[0, 4] = new WeightVector(new double[5] { 0.6, 0.05, 0.05, 0.15, 0.15 });

            this.Groups[1, 0] = new WeightVector(new double[5] { 0.1, 0.6, 0.1, 0.1, 0.1 });
            this.Groups[1, 1] = new WeightVector(new double[5] { 0.15, 0.6, 0.05, 0.15, 0.05 });
            this.Groups[1, 2] = new WeightVector(new double[5] { 0.05, 0.6, 0.15, 0.05, 0.15 });
            this.Groups[1, 3] = new WeightVector(new double[5] { 0.15, 0.6, 0.15, 0.05, 0.05 });
            this.Groups[1, 4] = new WeightVector(new double[5] { 0.05, 0.6, 0.05, 0.15, 0.15 });

            this.Groups[2, 0] = new WeightVector(new double[5] { 0.1, 0.1, 0.6, 0.1, 0.1 });
            this.Groups[2, 1] = new WeightVector(new double[5] { 0.15, 0.05, 0.6, 0.15, 0.05 });
            this.Groups[2, 2] = new WeightVector(new double[5] { 0.05, 0.15, 0.6, 0.05, 0.15 });
            this.Groups[2, 3] = new WeightVector(new double[5] { 0.15, 0.15, 0.6, 0.05, 0.05 });
            this.Groups[2, 4] = new WeightVector(new double[5] { 0.05, 0.05, 0.6, 0.15, 0.15 });

            this.Groups[3, 0] = new WeightVector(new double[5] { 0.1, 0.1, 0.1, 0.6, 0.1 });
            this.Groups[3, 1] = new WeightVector(new double[5] { 0.15, 0.05, 0.15, 0.6, 0.05 });
            this.Groups[3, 2] = new WeightVector(new double[5] { 0.05, 0.15, 0.05, 0.6, 0.15 });
            this.Groups[3, 3] = new WeightVector(new double[5] { 0.15, 0.15, 0.05, 0.6, 0.05 });
            this.Groups[3, 4] = new WeightVector(new double[5] { 0.05, 0.05, 0.15, 0.6, 0.15 });

            this.Groups[4, 0] = new WeightVector(new double[5] { 0.1, 0.1, 0.1, 0.1, 0.6 });
            this.Groups[4, 1] = new WeightVector(new double[5] { 0.15, 0.05, 0.15, 0.05, 0.6 });
            this.Groups[4, 2] = new WeightVector(new double[5] { 0.05, 0.15, 0.05, 0.15, 0.6 });
            this.Groups[4, 3] = new WeightVector(new double[5] { 0.15, 0.15, 0.05, 0.05, 0.6 });
            this.Groups[4, 4] = new WeightVector(new double[5] { 0.05, 0.05, 0.15, 0.15, 0.6 });
        }
    }
}
